# -*- coding: utf-8 -*-
#from pycube.core.urls.response import HttpResponse
from pycube.core.sql.model import column
from pycube.core.sql.types import *

def __init__( psql ):
    #общие настройки
    psql.register( 'event_provider', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'name', varchar( 100 ), notnull=True ),
               column( 'data', text ),

        ) )
    psql.register( 'event_domain', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'url', varchar( 100 ), notnull=True ),
               column( 'default', bool, default=False ),

        ) )
    #настройки места проведения
    psql.register( 'event_place', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'name', varchar( 100 ), notnull=True ),
               column( 'text', text ),
               column( 'img', varchar( 100 ) ),
               column( 'parrent', int4 ),

        ) )

    psql.register( 'event_tribune', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'place', int4, notnull=True ),
               column( 'name', varchar( 100 ), notnull=True ),
               column( 'sort', int4, default=1 ),
               column( 'text', text ),
               column( 'img', varchar( 100 ) ),
               column( 'color', varchar( 6 ) ),

        ) )
    psql.forein_key( 'event_tribune', 'place', 'event_place', 'id', 'cascade', 'cascade' )

    psql.register( 'event_sector', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'place', int4, notnull=True ),
               column( 'tribune', int4 ),
               column( 'name', varchar( 100 ), notnull=True ),
               column( 'sort', int4 ),
               column( 'text', text ),
               column( 'coords', varchar( 255 ) ),
               column( 'img', varchar( 100 ) ),
               column( 'color', varchar( 6 ) ),
               column( 'profit', int4 ),
        ) )
    psql.forein_key( 'event_sector', 'place', 'event_place', 'id', 'cascade', 'cascade' )
    psql.forein_key( 'event_sector', 'tribune', 'event_tribune', 'id' , 'cascade', 'cascade' )

    psql.register( 'event_item', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'place', int4, notnull=True ),
               column( 'sector', int4, notnull=True ),
               column( 'row', int4 ),
               column( 'seat', int4 ),
               column( 'color', varchar( 6 ) ),
               column( 'coords', varchar( 255 ) ),
               column( 'price', int4 ),
               column( 'profit', int4 ),

        ) )


    psql.forein_key( 'event_item', 'place', 'event_place', 'id' , 'cascade', 'cascade' )
    psql.forein_key( 'event_item', 'sector', 'event_sector', 'id' , 'cascade', 'cascade' )
    #настройки события
    psql.register( 'event_event', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'place', int4 ),
               column( 'provider', int4 ),
               column( 'name', varchar( 100 ), notnull=True ),
               column( 'sort', int4 ),
               column( 'text', text ),
               column( 'img', varchar( 100 ) ),
               column( 'profit', int4 ),

        ) )
    psql.forein_key( 'event_event', 'place', 'event_place', 'id' , 'cascade', 'cascade' )
    psql.forein_key( 'event_event', 'provider', 'event_provider', 'id' , 'cascade', 'cascade' )

    psql.register( 'event_event_sector', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'event', int4 ),
               column( 'provider', int4 ),
               column( 'sector', int4 ),
               column( 'show', bool, default=False ),
               column( 'cache_free', int4 ),
               column( 'cache_price', int4 ),
               column( 'profit', int4 ),

        ) )
    psql.forein_key( 'event_event_sector', 'event', 'event_event', 'id' , 'cascade', 'cascade' )
    psql.forein_key( 'event_event_sector', 'provider', 'event_provider', 'id' , 'cascade', 'cascade' )
    psql.forein_key( 'event_event_sector', 'sector', 'event_sector', 'id' , 'cascade', 'cascade' )
    # настройки всех событий
    psql.register( 'event_show', ( 
               column( 'id', int4, autoSequence=True, primary_key=True, notnull=True, autoIndex=True ),
               column( 'event', int4 ),
               column( 'domain', int4 ),
               column( 'date', date ),
               column( 'time', time ),
               column( 'show', bool, default=False ),
               column( 'rss', bool, default=False ),
               column( 'need', bool, default=False ),
               column( 'wait', bool, default=False ),

        ) )
    psql.forein_key( 'event_show', 'event', 'event_event', 'id' , 'cascade', 'cascade' )
    psql.forein_key( 'event_show', 'domain', 'event_domain', 'id' , 'cascade', 'cascade' )
